1. Field of the Invention
The present invention relates to a synchronization acquisition device and a method of performing synchronization acquisition in a spread spectrum communication system for performing synchronization acquisition in a receiver that employs the spread spectrum communication method.
2. Description of the Related Art
In recent years, the spread spectrum communication system, which is effective against interference and disturbances, has received increased attention as a communication system for use in mobile communication systems. A spread spectrum communication system is a communication system in which, on the transmitting side, a spreading code is used to spread an information signal that is to be transmitted, and on the receiving side, a spreading code that is the same as this spreading code is used to carry out despreading and obtain the original information signal.
The information signal that is transferred as information is called a symbol, and the unit of data constituting the spreading code for spreading these symbols is called a chip.
In such a spread spectrum communication system, a plurality of transmitting sides each carries out spreading using different spreading codes having orthogonality, and each communication can be designated on the receiver side by selecting the spreading code used when carrying out despreading. As a result, Code Division Multiple Access (CDMA) can be realized in which a plurality of communications use the same frequency band.
In a transmitting/receiving system according to this spread spectrum communication system, however, despreading cannot be properly achieved if the spreading timing, which is the timing at which spreading is carried out on the transmitting side, is not accurately obtained on the receiving side. If this spreading timing is shifted by just one chip, for example, none of the signals transmitted from the transmitting side can be received on the receiving side. A synchronization acquisition device for obtaining the spreading timing is therefore provided in receivers of the spread spectrum communication system. Synchronization acquisition refers to receiving from a transmitter reception data in which data of a specific timing are spread by a specific spreading code, and using this specific spreading code to obtain the specific timing.
In this way, an example of data in which data of a specific timing are spread by a specific spreading code is explained using a W-CDMA (Wide-band CDMA) system, which is one type of CDMA communication system. A W-CDMA system is one spread spectrum communication system that has been applied to mobile communication systems.
In the W-CDMA system that is described here, a mobile station can obtain base station information, such as the spreading code and spreading timing that the base station uses when carrying out spreading of logical symbols, by receiving a perch channel transmitted from the base station.
The spreading codes in this W-CDMA system include a long code (long-period spreading code) and a short code (short-period spreading code), and logical symbols in a W-CDMA system are spread twice by this long code and short code. A long code is a code of an extremely long period corresponding to the length of several tens or several hundreds of symbols, and short code is a code of short period corresponding to the length of one symbol.
Referring now to FIG. 1, the data structure of a perch channel is explained. In a W-CDMA system, data to be transmitted are transmitted in units of superframes of 640 msec. Perch channel 30 is one of these superframes and is composed of 64 radio frames 311-3164 for transferring information of each receiver. Radio frame 311is in turn composed of 16 time slots 321-3216, and time slot 321is composed of pilot symbol 33, BCCH (Broadcast Control CHannel) symbol 34, and long code mask symbol 35.
Since the case explained here regards a W-CDMA system in which the spreading code length of the short code is 256 chips, a one-bit logical symbol is spread to 256 chips.
Long-code mask symbol 35 is a signal in which a particular one-bit logical symbol is spread by only the short code and not spread by the long code. All logical symbols other than long-code mask symbol 35 are spread by both long-code and short-code spreading codes. As a result, if signals that are demodulated by RF unit 1 are subjected to despreading by only the short code, only long-code mask symbol 35 appears as the original symbol. A synchronization acquisition device takes advantage of this fact to detect the spreading timing.
FIG. 2 shows one example of the composition of a receiver in a spread spectrum communication system that is provided with this type of synchronization acquisition device. The receiver in this spread spectrum communication system includes RF unit 1, A/D converter 2, and synchronization acquisition device 13.
RF unit 1 modulates signals received from a transmitter and converts the signals to baseband signals. A/D converter 2 carries out A/D conversion of the baseband signals that were demodulated by RF unit 1 to convert the signals to digital signals. Synchronization acquisition device 13 performs synchronization acquisition by using digital data that were converted by A/D converter 2.
FIG. 3 shows the configuration of this synchronization acquisition device 13. Synchronization acquisition device 13 is composed of correlator 4, adder 20, correlation value storage unit 21, and peak detector 22.
Correlator 4 calculates correlation values between digital data outputted from A/D converter 2 and preset spreading codes. As for the actual constitution of correlator 4, matched filters may be used that hold digital data the length of the spreading code and simultaneously calculate correlation values with the spreading code, or a correlator bank may be used that sequentially calculates correlation values between the spreading code and digital data and accumulates these correlation values.
In this case, correlation values are calculated as electrical values in a W-CDMA system, quadruple over-sampling normally being carried out when calculating electrical values. If the spreading length of short code in this case is 256 chips and the number of symbols in one time slot is 10, the timing number, which is the number of data items in one slot interval, is:
4 (quadruple sampling)xc3x97256 (chips)xc3x9710 (symbols)=10,240.
FIG. 4 shows an example of the correlation values for each timing obtained by correlator 4. In FIG. 4, the correlation values of the 10240 timings of one slot interval have been artificially produced and represented as a graph for the purpose of explaining actual data. Here, cases in which the correlation values exhibit high values are cases in which digital data and short code match. The occurrence of a plurality of these timings in this graph indicates that this mobile station is receiving radio waves from a plurality of base stations.
Data of correlation values in a one-slot interval are shown. In a mobile communication system made up of a mobile station and a plurality of base stations, the mobile station communicates with base stations while moving, and the obtained correlation values therefore fluctuate widely due to the influence of such factors as fading. The obtained correlation values in some cases may drop sharply when fading is high, giving the perception that no radio waves at all are being received from the base station.
To solve this type of problem, a slot averaging process is carried out to prevent malfunctions due to loss of data caused by fading whereby, rather than detecting spreading timing based on the correlation value data at a single time, an average of the correlation value data is calculated for each slot interval.
Adder 20 adds correlation values found in correlator 4 and correlation values read from correlation value storage unit 21.
Correlation value storage unit 21 stores the accumulated correlation values obtained by adder 20 as new correlation values. If, as an example, a correlation value is represented by 32 bits, correlation value storage unit 21 must have a data storage capacity of 10240xc3x9732 bits of data to store correlation values for each timing.
Peak detector 22 carries out synchronization acquisition by detecting peaks in data for each timing obtained by correlation value storage unit 21 when a predetermined number of slot averaging has been completed.
Explanation is next presented regarding the operations in the slot averaging calculation process in synchronization acquisition device 13 of the prior art.
Correlation values represented in 32 bits for each timing are continuously applied to adder 20 from correlator 4. Correlation value storage unit 21 then reads the past accumulated value of a timing that has been received and outputs this read accumulated value to adder 20. In adder 20, the accumulated value outputted from correlation value storage unit 21 is added to the new correlation value from correlator 4 to calculate a new accumulated value, and this value is outputted to correlation value storage unit 21. At correlation value storage unit 21, the new accumulated value is stored as the accumulated value of that timing in place of the accumulated value for that timing that is currently stored.
The foregoing explanation relates to the slot averaging calculation process at one timing, but the same operation is carried out for 10240timings, and as a result, 10240xc3x9732 bits of data must be stored in correlation value storage unit 21 to take the averages of all data for each slot interval in synchronization acquisition device 13. As a consequence, registers such as F/F (flip-flops), which have a limited storage capacity, cannot be used in correlation value storage unit 21 to store such a large volume of data, and a storage device such as external RAM is necessary.
In addition, carrying out the slot averaging calculation process of data for a particular timing received from correlator 4 in this synchronization acquisition device 13 of the prior art necessitates repetition of the operations of writing a newly obtained accumulated value to correlation value storage unit 21 once the accumulated value of the correlation values at that timing is read from correlation value storage unit 21 and a new accumulated value is obtained.
If correlation value storage unit 21 is constituted by external RAM, this external RAM must be frequently accessed. However, since accessing external RAM requires a relatively long time interval compared with the time for reading and writing data that are stored in registers such as F/F, the time required for the slot averaging processing becomes quite lengthy.
A synchronization acquisition device that reduces storage capacity in order to solve this problem is described in the specification of Japanese Patent Application No. 63099/98.
FIG. 5 shows this synchronization acquisition device 23. Reference numerals that are the same as those used in FIG. 3 identify equivalent constituent elements. Synchronization acquisition device 23 is made up of correlator 4, N highest-ranking value detector 24, base value calculator 25, average calculator 26, and timing-correlation value storage unit 27.
Of the correlation values for each timing obtained by correlator 4, N highest-ranking value detector 24 stores just N values starting from data of the highest values, N being a predetermined number, and makes the Nth item of data the threshold value. Upon completion of one slot interval, N highest-ranking value detector 24 outputs the N items of data together with the associated timing information to average calculator 26 and outputs the threshold value to base value calculator 25.
Base value calculator 25 calculates a base value by accumulating the threshold values found in N highest-ranking value detector 24 and stores this base value. Average calculator 26 carries out a process as described below for the N items of data and the associated timing information that were received from N highest-ranking value detector 24.
(1) If data of the timing are already stored in timing-correlation value storage unit 27, average calculator 26 adds the data obtained in this calculation to the stored data to produce new data.
(2) If data of the timing are not stored in timing-correlation value storage unit 27, average calculator 26 adds the data obtained in this calculation to the base value to produce new data.
(3) Average calculator 26 adds the threshold value to data of the timing for which data were not newly produced in this process at the timing for which data were stored in timing-correlation value storage unit 27.
Average calculator 26 then sorts (rearranges) the newly produced data in order starting from higher values; discards data other than M highest-ranking items of data if the number of items of data exceeds a predetermined number M; and stores the M items of data together with the timing information in timing-correlation value storage unit 27. Timing-correlation value storage unit 27 stores the data while maintaining a correspondence between the correlation values calculated by average calculator 26 and the associated timing information.
Referring now to FIG. 5, FIG. 6, and FIG. 7, explanation is next presented regarding the operation of synchronization acquisition device 23. FIG. 6 is a graph of correlation values obtained by correlator 6 for each timing, and FIG. 7 is a flow chart showing the operations of synchronization acquisition device 23. Here, as with FIG. 4, FIG. 6 is a graph of data that were artificially produced for the purpose of explaining the actual data.
In the graph of this FIG. 6, moreover, correlation values are shown in order starting from the highest value from {circle around (1)} to {circle around (6)}. Since N is 6 in this FIG. 6, the threshold value is the value of data that is sixth from the highest rank and is indicated by {circle around (6)}.
The operation of the synchronization acquisition device 23 is next explained using the flow chart of FIG. 7.
First, data from RF unit 1 is converted to digital data by A/D converter 2. Next, correlation values between the digital data and the short code are calculated in correlator 4 in Step 81. In Step 83, N highest-ranking value detector 24 next holds only as far as the Nth (sixth in the example shown in FIG. 6) value from the highest ranking value of the correlation values. In Step 84, it is determined whether or not the operations to this point have been carried out for all data of the 10240 timings. If it is determined in Step 84 that operations to this point have been carried out for all data of the 10240 timings, the Nth item of data in N highest-ranking value detector 24 is outputted to base value calculator 25 as the threshold value in Step 85, and in base value calculator 25, the threshold values are accumulated and stored as the base value.
In average calculator 26, the following processing is carried out for the extracted N items of data in N highest-ranking value detector 24.
First, it is determined in Step 86 whether or not data of that timing are stored in timing-correlation value storage unit 27. If it is determined in Step 86 that the data are stored, the value obtained this time is added to the value stored at that timing to produce data 1 in Step 87. If it is determined in Step 86 that data are not stored in timing-correlation value storage unit 27, the base value stored in base value calculator 25 is added to the value obtained this time to produce data 2 in Step 88.
When this processing has been completed for the N highest-ranking values in Step 89, average calculator 26 adds the threshold value for this time to the values of other timings of timing-correlation value storage unit 27 to produce data 3 in Step 90.
In Step 91, data 1, 2, and 3 are next sorted in average calculator 26, and the result of this sorting is stored in timing-correlation value storage unit 27. If the number of items of data in which data 1, 2, and 3 have been sorted exceeds M in this case, only the M highest-ranking items of data are stored in timing-correlation value storage unit 27, and the remaining data are discarded.
All processing is completed in Step 92 when the above-described processing has been completed a number of times equal to a predetermined number of slot averaging.
An actual example of this slot averaging calculation is next described using FIGS. 8a-8c. These FIGS. 8a-8c each show the circumstances in which correlation values are added at one particular timing.
Here, FIG. 8a shows a case in which the correlation values obtained at a particular timing do not vary widely, FIG. 8b shows a case in which the obtained correlation values gradually decrease, and FIG. 8c shows a case in which the obtained correlation values gradually increase. In these FIGS. 8a-8c, the blocks shaded by diagonal lines indicate the threshold values, and the other blocks indicate data.
First, in FIG. 8a, data from the first to third times were added because these data all fall within the N highest-ranking values. The obtained correlation value for the fourth item of data, however, did not fall within the N highest-ranking values due to some random factor such as fading. The threshold value was therefore added for this calculation. The fifth and subsequent calculations again fell within the N highest-ranking values, and these data are added. In this way, drastic decreases in the accumulated value of data can be prevented by adding the threshold values for data at timings for which correlation values could not be obtained due to random factors.
Next, in FIG. 8b, the first to fourth items of data all fall within the N highest-ranking values, but the fifth and later items of data do not fall within the N highest-ranking values due to factors such as increase in the distance between the base station and mobile station. As a result, the threshold value of each calculation is added to the accumulated value up to this point for the fifth and subsequent calculations. However, since only the threshold value is added to this timing data, its rank within data that are stored in timing-correlation value storage unit 27 gradually decreases, eventually to be discarded when it does not fall within the M highest-ranking values. Since only the threshold values are added for data at timings at which the obtained correlation values gradually decrease, these data are eventually discarded from the M highest-ranking items of data.
Finally, in FIG. 8c, since the first to fourth items of data do not fall within the N highest-ranking values, the timing data for these cases are not stored in timing-correlation value storage unit 27. However, the data do fall within the N highest-ranking values beginning with the fifth item, and average calculator 26 therefore adds the base value and the data for these cases to generate new data which are stored in timing-correlation value storage unit 27. Data for timings for which the obtained correlation values gradually increase in this way can be appropriately compared with data for other timings by adding the base value as the past accumulated value.
In this synchronization acquisition device 23 of the prior art, the amount of data to be held in timing-correlation value storage unit 27 for a case in which, for example, M=20 and the timing information is 14 bits, is: 20xc3x97(32 bits (data)+14 bits (timing information). This amount of data is {fraction (1/356)} of the amount of memory (10240xc3x9732 bits) of the prior-art synchronization acquisition device 13 shown in FIG. 3. This synchronization acquisition device 23 therefore can cut the amount of memory required for the slot averaging calculation process and therefore can also reduce the circuit scale.
In addition, this prior-art synchronization acquisition device 23 reads data M times and writes data M times to timing-correlation value storage unit 27 in the slot averaging calculation process for one slot interval. Compared with prior-art synchronization acquisition device 13, which reads 10240 times and writes 10240 times to correlation value storage unit 21, synchronization acquisition device 23 allows a drastic reduction of the time required for reading and writing data.
Further, this prior-art synchronization acquisition device 23 has no need for voluminous storage capacity in timing-correlation value storage unit 27 and can employ storage devices such as F/F that require little time for reading and writing instead of external RAM, which entails time-consuming reading and writing. The multiplied effect of using, for example, F/F combined with the substantial reduction in the number of times of reading and writing to timing-correlation value storage unit 27 allows a drastic decrease in the processing time for the slot averaging calculation process.
Although the required amount of memory can be reduced in this prior-art synchronization acquisition device 23, the addition of threshold values and base values, which are dummy data, to correlation values brings about a significant difference between correlation values obtained after the averaging process and the actual correlation values. Although this type of synchronization acquisition device 23 may not encounter problems under normal conditions, there is the possibility that the use of dummy data under conditions of poor Signal-to-Interference Noise Ratio may cause a drop in the accuracy of synchronization acquisition, and in a worst case, malfunctions can be expected.
For example, if the sixth correlation value from the highest rank, which becomes the threshold value, becomes a higher value than expected in the above-described example, the problem arises that timings for which the correlation values become steadily smaller will always remain in timing-correlation value storage unit 27. Conversely, the problem may also arise that, in a case in which the threshold values and base values are lower than expected, the sudden occurrence of timings for which high correlation values are obtained will not be accepted in timing-correlation value storage unit 27.
It is an object of the present invention to provide a synchronization acquisition device that can both perform synchronization acquisition with high accuracy and cut storage capacity.
To achieve the above-described objects, the synchronization acquisition device according to the present invention comprises a correlation detecting means, a timing-correlation value storing means, a first multiplying means, a second multiplying means, an adding means, a selecting means, and a control means.
The correlation detecting means calculates correlation values between digital data, which have been obtained by A/D converting received signals that have been demodulated, and specific spreading codes. The timing-correlation value storing means stores both the data of correlation values and associated timings. The first multiplying means multiplies correlation values obtained by the correlation detecting means by a coefficient K (0 less than Kxe2x89xa61) and outputs the result. The second multiplying means multiplies correlation values read from the timing-correlation value storing means by a coefficient (1xe2x88x92K) and outputs the result. The adding means adds values outputted from the first multiplying means and values outputted from the second multiplying means and outputs the result. The selecting means selects and outputs one of the output of the adding means and the output of the first multiplying means.
In the first correlation value calculation, the control means stores in the timing-correlation value storing means only data of the N highest-ranking correlation values of correlation values of a fixed interval portion obtained in the correlation detecting means, N being a predetermined number. Then, in the second and subsequent correlation value calculations, the control means determines whether or not a timing for which correlation values is obtained in the correlation detecting means is stored in the timing-correlation value storing means; and if the timing is stored in the timing-correlation value storing means, instructs the selecting means to output the output from the adding means to the timing-correlation value storing means. If the timing is not stored in the timing-correlation value storing means and if the associated correlation value is greater than the Nth correlation value PN stored in the timing-correlation value storing means, the control means instructs the selecting means to output the output from the first multiplying means to the timing-correlation value storing means. If the timing is not stored in the timing-correlation value storing means and if the associated correlation value is equal to or lower than the Nth correlation value PN that is stored in the timing-correlation value storing means, the control means instructs the timing-correlation value storing means not to carry out any processing on output from the selecting means. The control means then outputs the timing information stored in the timing-correlation value storing means upon completion of a number of correlation value calculations equal in number to a prescribed number of averages.
The present invention does not cause the correlation values of all timings of a fixed interval portion to be stored in timing-correlation value storing means, but rather, causes only correlation values that become peak candidates and associated timing information to be stored in timing-correlation value storing means, thereby allowing a reduction in the necessary storage capacity. The present invention moreover reduces instances of erroneous detection caused by such factors as noise, because the reordering of timings that become peak candidates in an averaging process that calculates the averages of the correlation values of a plurality of fixed intervals is carried out based only on actual correlation values and without using dummy values. Accordingly, the storage capacity required by the timing-correlation value storing means can be cut and synchronization acquisition of higher accuracy can be achieved.
In addition, according to an embodiment of the present invention, the correlation detecting means is a matched filter or a correlator bank.
According to another embodiment of the present invention, the coefficient K is a variable.
According to yet another embodiment of the present invention, the coefficient K used in the first correlation value calculation differs from the coefficient K used in the second and subsequent correlation value calculations.
The above and other objects, features, and advantages of the present invention will become apparent from the following description with reference to the accompanying drawings which illustrate examples of the present invention.